MySQL |
您所在的位置:网站首页 › sql 索引 怎么用 › MySQL |
1. 使用 ALTER TABLE 语句删除索引
语法格式: ALTER TABLE table_name DROP INDEX index_name; 【例】删除 score 表中的名为 id 的普通索引。 首先查看 score 表 -------------------------+ | Table | Create Table | +-------+-----------------------------------------------------+ | score | CREATE TABLE `score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `math` int(5) NOT NULL, `English` int(5) NOT NULL, `Chinese` int(5) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+----------------------------------------输入删除语句: mysql> ALTER TABLE score drop INDEX id; Query OK, 0 rows affected (0.65 sec)查看是否被删除: ----------+ | Table | Create Table | +-------+---------------------------------------------------------+ | score | CREATE TABLE `score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `math` int(5) NOT NULL, `English` int(5) NOT NULL, `Chinese` int(5) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 【注】 添加 AUTO_INCREMENT 约束字段的唯一索引不能被删除 2. 使用 DROP INDEX 语句删除索引语法格式: DROP INDEX index_name ON table_name; 【例】 删除 address 表中 查看 address 表 ----+ | Table | Create Table | +---------+-------------------------------------------------------+ | address | CREATE TABLE `address` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `address` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |输入删除语句: mysql> DROP INDEX address ON address; Query OK, 0 rows affected (0.20 sec)查看是否被删除: | Table | Create Table | +---------+---------------------------------------------------------------+ | address | CREATE TABLE `address` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `address` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |删除表中的列时,如果要删除的列为索引的组成部分,则该列也会从索引中删除。如果组成索引的所有列都被删除,则整个索引将被删除。 【注】参考于清华大学出版社《MySQL数据库应用案例课堂》2016年1月第1版 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |